package session.stateless.CRM;

import entity.CRM.SaleQuotation;
import entity.CRM.LineItem;
import entity.CRM.ProductPrice;
import java.util.List;
import javax.ejb.Local;

@Local
public interface SaleQuotationBeanLocal {
    public List<ProductPrice> getProductPrice();
    
    public Long convertToSaleQuotation(Long saleInquiryId, List<LineItem> lineItems,Integer leadTime, Integer validityPeriod);
    public Long createNewSaleQuotation(String saleLeadName, List<LineItem> Items, Integer leadTime, Integer validityPeriod, Double customDiscount);
    public void updateSaleQuotation(Long saleQuotationId,List<LineItem> lineItems);
    public void deleteSaleQuotation(Long saleQuotationId) ;

    public List<SaleQuotation> getSaleQuotation(Long id) ;
    public List<SaleQuotation> getSaleQuotationBySaleLead(String registrationNumber);
    public List<SaleQuotation> getSaleQuotationByCustomer(String registrationNumber);
    
    public double calculateFinalPrice(Long saleInquiryId, ProductPrice product, Long quantity);

    public List<SaleQuotation> getAllSaleQuotations();
    
    //Special method for update SQ's leadTime after create
    public void updateLeadTime(Long saleQuotationId, Long leadTime);
}
